home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™94 / Miscellaneous / Randy Thelen / ThreadedBrot / Interfaces / AppLib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-26  |  2.5 KB  |  114 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        AppLib.h
  3.  
  4.     Contains:    Prototypes for the “guts” of a Macintosh application.
  5.  
  6.     Written by: Dave Falkenburg
  7.  
  8.     Copyright:    © 1993 by Dave Falkenburg, all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.      
  12.  */
  13.  
  14. #ifndef        _APPLIB_
  15. #define        _APPLIB_
  16.  
  17. #include    <Types.h>
  18. #include    <Windows.h>
  19. #include    <Dialogs.h>
  20. #include    <Menus.h>
  21. #include    <Files.h>
  22. #include    <AppleEvents.h>
  23. #include    <StandardFile.h>
  24. #include    <OCEStandardMail.h>
  25.  
  26. #include    "Window.h"
  27.  
  28. #ifndef    DEBUG
  29. #define    DEBUG    1
  30. #endif
  31.  
  32. #if    DEBUG
  33. #define    DebugMessage(x)    DebugStr(x)
  34. #else
  35. #define    DebugMessage(x)
  36. #endif
  37.  
  38. //    Resource IDs
  39.  
  40. #define    kErrorAlertID                        128
  41. #define    kStandardCloseAlertID                129
  42. #define    kStandardCloseWithNewPubsAlertID    130
  43.  
  44. #define    kCoreErrorStrings                    128
  45. #define    kUnsupportedSystemSoftware            1
  46. #define    kNeedsThreadManager                    2
  47.  
  48. #define    kStandardCloseStrings                129
  49. #define    kQuittingStr                        1
  50. #define    kClosingStr                            2
  51.  
  52. #define    kPreferencesFileStrings                130
  53. #define    kPreferencesFileName                1
  54.  
  55. //    Useful functions provided by App:
  56.  
  57. void                    HandleEvent(EventRecord *anEvent);
  58. void                    HandleClose(WindowPtr aWindow);
  59.  
  60. short                    StandardAlert(short alertID);
  61.  
  62. void                    ErrorAlert(short stringList,short whichString);
  63. void                    FatalErrorAlert(short stringList,short whichString);
  64.  
  65. extern ModalFilterUPP    StandardDialogFilter;
  66. extern ModalFilterYDUPP    StandardDialogFilterYD;
  67.  
  68. enum    StandardCloseResult
  69.     {
  70.     kSaveDocument = 1,
  71.     kCancelSaveDocument = 2,
  72.     kDontSaveDocument = 3
  73.     };
  74.  
  75. StandardCloseResult        StandardCloseDocument(const StringPtr documentType,StringPtr documentName, Boolean hasNewEditions, Boolean quitting);
  76.  
  77. OSErr                    CheckAppleEventForMissingParams(AppleEvent *theAppleEvent);
  78.  
  79. short                    OpenPreferencesResFile(void);
  80.  
  81. //    AOCE “FrontWindow”-equivalent routine for the Standard Mail package
  82. extern FrontWindowUPP    FrontWindowProcForAOCEUPP;
  83.  
  84. //    Globals
  85.  
  86. extern    Boolean        gDone;
  87. extern    Boolean        gMenuBarNeedsUpdate;
  88.  
  89. extern    Boolean        gHasColorQuickdraw;
  90. extern    Boolean        gHasThreadManager;
  91. extern    Boolean        gHasDragManager;
  92. extern    Boolean        gHasAOCE;
  93. extern    Boolean        gHasDisplayManager;
  94. extern    Boolean        gHasTextServices;
  95. extern    Boolean        gHasTSMTE;
  96.  
  97. extern    GrafPtr        gWindowManagerPort;
  98. extern    Rect        gDeskRectangle;
  99. extern    RgnHandle    gMouseRegion;
  100.  
  101.  
  102. //    Routines that the application MUST supply:
  103.  
  104. extern    OSErr    SetupApplication(void);
  105. extern    void    HandleMenu(TWindow * topWindowObj,long menuCode);
  106. extern    void    ConvertClipboard(void);
  107.  
  108. extern    OSErr    OpenNewDocument(void);
  109. extern    OSErr    OpenDocument(LetterDescriptor *);
  110. extern    OSErr    PrintDocument(LetterDescriptor *);
  111. extern    Boolean    QuitApplication(void);
  112.  
  113. #endif
  114.